home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 1 (Walnut Creek)
/
Aminet - June 1993 [Walnut Creek].iso
/
aminet
/
text
/
docs
/
kickwom.lha
/
512KWOM
/
WOM-Expansion-Anleitung
< prev
next >
Wrap
Text File
|
1992-08-18
|
27KB
|
515 lines
/*************************************************************************/
/* */
/* WOM-Expansion für Amiga 1000 */
/* (512KByte Kickstarts im A1000) */
/* */
/* Eine Bauanleitung von Jörg Huth */
/* */
/*************************************************************************/
Mit der Entwicklung der Kickstart2.0 und dem Aufkommen von
Kickstart-Umschaltplatinen für den A500/A2000 fragt sich natürlich auch der
A1000 Besitzer, wie er in den Genuß von Kick 2.0 kommen könnte. Zwar gibt
es Software-Lösungen (kickit u.ä), doch daß dies sicher nicht der Weisheit
letzter Schluß ist, bekommt der User, wenn nicht schon bei einem Reset,
spätestens nach einem etwas härtern Absturz zu spüren.
Aber auch die Eprom- bzw. Rom-Lösungen haben ihre Nachteile. Kommt ein
neues Kickstart-Release, so muß man die Eproms komplett löschen und neu
programmieren. Die Roms bleiben davon verschont, die kann man nämlich
gleich wegwerfen. Hat man dann aber Eproms und diese auch glücklich neu
programmiert, kann sich natürlich herausstellen, daß das neue Release
vielleicht doch nicht so empfehlenswert ist, weil das teuer gekaufte
CAD-Programm oder die Software für die Platte nicht mehr so richtig will.
Bisher stand der 1000'er User über diesen Dingen. Er konnte nach
Herzenslust alle möglichen Kickstartversionen fahren und sich bei Bedarf
auch seine ganz persönliche Kick zusammenpatchen. Ging der Patch in die
Hose: Macht nichts; Diskmon rein und nochmal probieren.
Und genau so sollte es auch mit der Kick 2.0 gehen. Doch leider ist das WOM
des A1000 nur 256KByte groß, Kick 2.0 aber 512KByte lang.
Egal! Für unter 70 Märker läßt sich der A1000 so umrüsten, daß nach dem
Einschalten neben normalen 256KByte Kicks (also 1.0-1.3) auch eine 512KByte
lange Kickstart-Diskette eingeschoben wird. Der Amiga verhält sich dabei
ganz genau wie sonst, nur daß die Kickstart jetzt eben evtl. doppelt so
lang ist ($f80000-$ffffff anstatt $fc0000-$ffffff).
Was man alles braucht:
----------------------
1) 8 Stück: Speicherchips 41464 (120ns)
2) 2 Stück: Eproms 27C256 (120ns)
(Ersetzen die alten BootRoms im A1000)
3) 1 Stück: 74LS32
4) 1 Stück: 74LS74
5) 1 Stück: 74F86
6) 2 Stück: 74F138
7) 8 Stück: Widerstände 39 Ohm (1/4 Watt)
8) 1 Stück: Widerstand 1 kOhm (1/4 Watt)
9) 1 Stück: Leuchtdiode (3mm, gelb - die Farbe betrachte man als befohlen!)
10) 1 Stück: Schalter (1*UM)
11) 5 Stück: Abblockkondensatoren (0.1 MyFarad, keramisch)
12) 1 Stück: Elko 47 MyFarad / 16 Volt
13) Sockel für die 74'er nach Bedarf, ein Stück Lochrasterplatine, etwas
Schaltlitze
14) Software (Inhalt für die Eproms) der neuen BootRoms
Die Funktionsweise:
-------------------
Das WOM des A1000 liegt im Adressbereich von $fc0000 bis $ffffff. Kick 2.0
liegt aber im Bereich von $f80000 bis $ffffff (dies ist übrigens auch im
A3000 so). Es fehlt also der Bereich von $f80000 bis $fbffff (genau
256KByte). Sieht man sich mittels eines Monitors an, was normal in diesem
Bereich liegt, so findet man eine Kopie des Bereichs von $fc0000-$ffffff.
Dies ist eigentlich nicht verwunderlich, im Schaltplan des
A1000 erkennt man, daß zur Auskodierung der WOM-Adresse nur A17, nicht
aber A18 benutzt wird. Wenn man nun auf die schon vorhandenen WOM-RAMs (8
Speicherchips (U2J-U1M auf dem Mainboard) von Typ 41464) nochmals 8 Chips
- im Huckepackverfahren - vom gleichen Typ auflötet, die Chip-Select Leitungen
der neuen Chips jedoch abbiegt (also nicht mit den Beinchen der alten Chips
verlötet) und das ganze so ansteuert, daß jetzt auch A18 auskodiert wird,
so hat man einen durchgängigen WOM-Bereich von $f80000 bis $ffffff.
Doch leider stehen dem einige Probleme entgegen, auf die ich im folgenden
eingehen will:
Zunächst zur Adressdekodierung, die nun auch mittels A18 erfolgen soll. Im
A1000 wird das WOM über einen F139 auskodiert (2 Stück: 2 zu 4 Dekodierer).
Dieser hat zur Auskodierung von A18 aber keine Eingänge mehr frei. Deshalb
verwendet meine Schaltung zwei 74F138 (3 zu 8 Dekodierer). Der F139 auf dem
Motherboard muß nun aber freilich stillgelegt werden. Dies geht am
einfachsten, indem die vier 39 Ohm-Widerstände (R112-R119) abgeknipst
werden.
Damit ist der untere Teil der Schaltung beschrieben. Doch wofür ist nun der
obere Teil? Dazu zunächst einige Erläuterungen, was im A1000 nach dem RESET
passiert:
Nach einem RESET schaut der 68000 in Adresse 4 nach, wohin er springen
soll. Da ab Adresse 0 in der Regel aber RAM liegt und nach dem Einschalten
des Rechners hier keine vernünftigen Werte erwartet werden können, blendet
der Amiga ab Adresse 0 seine BootRoms ein, die normalerweise ab
Adresse $f80000 liegen (hoppla, hier liegt doch auch der neue WOM-Speicher
!!! Doch dazu später mehr). Zum Einblenden der BootRoms nach Adresse 0 ist
eine I/O-Leitung eines 8520 zuständig (CIAA PRA Bit 0). Nach einem RESET
wird diese Leitung auf High gesetzt und dies bewirkt die Einblendung des
BootRoms. Über den Zeiger in Adresse 4 wird dann sofort in die
Originaladresse der BootRoms gesprungen und dort wird dann das
OVL-Bit auf Null gesetzt, womit die Einblendung verschwindet und alles
wieder beim alten ist.
Nach einigen Testroutinen überprüft das BootRom nun die Checksum des
WOM-Bereichs. Ist die Checksum (muß $ffffffff sein) in Ordnung, so gehen die
BootRoms davon aus, daß schon eine Kickstart geladen wurde. Daraufhin wird
der Schreibschutz-Mechanismus für das WOM aktiviert und die Kickstart
gestartet. Ist die Checksum nicht in Ordnung, so wird über DF0: eine
Kickstart eingelesen, anschließend dann der Schreibschutz-Mechanismus
aktiviert und die geladene Kickstart gestartet.
Und genau bei der Schreibschutz-Aktivierung liegt der Knackpunkt:
Ausgelöst wird er durch einen beliebigen Schreibzugriff auf den Bereich
$f80000-$fbffff. Doch wie soll man dann den neuen WOM-Bereich überhaupt mit
der Kickstart beschreiben, wenn doch der erste Schreibzugriff den Bereich
sofort gegen weiter Schreibzugriffe sperrt? Ein anderes Argument kommt noch
hinzu:
In dem neuen Bereich von $f80000-$fbffff liegen doch auch die Boot-Roms.
Wie soll man also überhaupt darauf zugreifen?
Die Lösung ist eigentlich relativ einfach: Zunächst einmal werden mit der
Schreibschutz-Aktivierung des WOMs auch die BootRoms abgeschaltet. D.h. der
Adressbereich von $f80000-$fbffff steht wieder zu Verfügung (im Normalbetrieb
des A1000 befindet sich hier ja der gespiegelte WOM-Bereich $fc0000-$ffffff).
Das die BootRoms durch neue ersetzt werden müssen, dürfte mittlerweile
schon klar geworden sein, schließlich müssen ja 512KByte von Disk eingelesen
werden und auch die Checksumme ist über einen größeren Bereich zu
ermitteln. Außerdem müssen die neuen BootRoms wahlweise mit 512KByte Kicks
oder 256KByte Kicks umgehen. Um von den BootRoms aus jetzt auf den neuen
WOM-Bereich zugreifen zu können, verwendet meine Schaltung eine kleine
Logik, mit der die Adressbereiche von $f80000-$fbffff und $fc0000-$ffffff
miteinander vertauscht werden können. D.h. der Bereich ab $f80000 läßt sich
nach Vertauschung über den Adressbereich ab $fc0000 ansprechen. Soll auf
den Originalbereich ab $fc0000 zugegriffen werden, so muß die Vertauschung
eben wieder rückgängig gemacht werden.
Die Vertauschung an sich ist relativ einfach. Man muß nur die Adresse A18
entweder invertieren oder normal zu den Dekodern F138
durchschalten. Zur Steuerung der Vertauschung habe ich eine I/O-Leitung
verwendet, die eigentlich zur Steuerung der Power-LED vorgesehen ist.
Natürlich bleibt die LED weiter angeschlossen (wollte ich vorsichtshalber
noch einmal erwähnen). Jetzt muß eigentlich nur noch sichergestellt
werden, daß die Vertauschung nach dem Abschalten des BootRoms nicht mehr
funktioniert, sonst würde jedes Programm, das die LED umschaltet, den
Rechner zu Absturz bringen, weil es die Adressbereiche $f80000 und $fc0000
vertauschen würde.
Zu diesem Zweck dient das D-Latch 74LS74. Nach einem RESET führt der
Ausgang (Q) einen Low-Pegel. Damit kann das LED-Bit von CIAA den Ausgang
des Oder-Gatters (74LS32) bestimmen. Ist der Ausgang High, so wird im XOR
(74F86) die Adress-Leitung A18 invertiert. Bei einem Low am LED-Bit dagegen
wird A18 unverändert durchgeschaltet. Kurz bevor sich die BootRoms
abschalten, erzeugen sie am OVL-Bit (CIAA PRA Bit 0) nochmals eine 0-1-0
Flanke, wodurch das D-Latch LS74 ihren Ausgang bis zum nächsten RESET auf
High schaltet. Damit ist eine Umschaltung der Adressbereiche über den
LED-Pin nicht mehr möglich.
Genau genommen wird jetzt A18 über das XOR-Gatter ständig invertiert. Die
RAMs sind jedoch so an den Dekodern (F138) angeschlossen, daß dies gerade
wieder aufgehoben wird. Mit den neuen BootRoms ist die Schaltung also
vollkommen zum alten A1000 kompatibel. Nur der Adressbereich von $fc0000
bis $ffffff ist nicht mehr gespiegelt, sondern ab $f80000 liegt nun evtl.
(256KByte Kick geladen) uninitialisierter Speicher. Aber dies sollte kein
Programm stören, und trotz Murphy ist mir bisher auch kein solches Programm
bekannt.
Probleme treten nur auf, wenn die Schaltung in Verbindung mit den originalen
BootRoms verwendet wird, da diese das D-Latch nicht aktivieren. Somit würde
jeder Zugriff auf die LED-I/O-Leitung das System zum Absturz bringen.
Vorsorglich läßt sich dies über den Umschalter aber unterbinden. Steht der
Schalter in Stellung 'Original', so sind die Adressbereiche nicht
umschaltbar, und es können die alten BootRoms verwendet werden.
Da die neuen BootRoms die alten aber vollständig ersetzen, ist der Schalter
eigentlich unnötig. Er ist höchstes sinnvoll, wenn man die Eproms mit dem
eigenen Rechner mal umprogrammieren (oder auslesen) will, da man dann in
den Rechner die alten BootRoms wieder einsetzen muß (die Eproms stecken ja
jetzt im Epromer).
Die neuen BootRoms:
-------------------
Ich habe die BootRoms (U5N und U5S) durch zwei Eproms vom Typ 27C256 (120ns)
ersetzt. Ob die Eproms auch langsamer als 120ns sein können, habe ich nicht
ausprobiert. Mit 120ns Eproms ist man aber auf der sicheren Seite. Die
Pinbelegung der 27C256 stimmt mit denen der BootRoms überein, sodaß sie
einfach in die Sockel der BootRoms gesteckt werden können. Dabei muß aber
der Pin 1 der Eproms abgebogen werden. Auf dem Sockel liegen hier +5 Volt
an. Die Eproms erwarten hier ihre Programmierspannung, die im
Normalbetrieb aber auf keinem Potential liegen sollte (Pin 1 der Eproms
also abbiegen und in der Luft hängen lassen).
Die neuen BootRoms funktionieren auch, wenn die Schaltung überhaupt nicht
vorhanden, oder über den Schalter ausgeschaltet ist. Die BootRoms weisen
dann aber 512KByte Kickstart-Disketten mit dem Hinweis ab, daß mit dem
Speicherbereich ab $f80000-$fbffff etwas nicht in Ordnung ist. 256KByte
Kickstarts werden akzeptiert wie eh und je.
Allerdings kann man die Kickstart-Diskette jetzt auch in DF1: oder DF2:
stecken. Das Schreckgespenst: 'DF0 ist defekt und der Rechner läßt sich
nicht mehr hochfahren, um zu testen, was mit dem Laufwerk los ist' hat
somit ein Ende.
Die BootRoms testen zunächst, ob ein 512KByte Kick geladen ist (anhand der
Checksumme und des Codes $11144ef9 an Adresse $f80000). Ist dies der Fall
so wird die Kick direkt gestartet. Ist dies nicht der Fall, so wird auf
eine 256KByte Kick geprüft (wieder anhand der Checksumme und des Codes
$11114ef9 ab $fc0000). Ist auch dies erfolglos, so wird der User
aufgefordert, eine Kickstart-Diskette einzulegen (DF0-DF2).
Die Kickstart-Disketten:
------------------------
Die neuen BootRoms unterstützen zwei verschiedene Formate von
Kickstart-Disketten:
1) Die normale 256KByte Kickstart-Diskette (d.h. 1.0-1.3)
In Block 0 steht zur Kennzeichnung der String 'KICK'.
Die Blöcke 1 bis 512 enthalten die Kickstart.
Dabei wird die Kickstart in den Bereich $fc0000-$ffffff geschrieben.
Als Kennzeichen steht bei $fc0000 der Code $11114ef9.
Die Checksumme beträgt $ffffffff.
2) Die neue 512KByte Kickstart-Diskette (d.h. z.B. 2.0)
In Block 0 steht zur Kennzeichnung der String 'f8-KICK'
Die Blöcke 1 bis 1024 enthalten die Kickstart.
Die Kickstart wird dann in den Bereich $f80000-$ffffff geschrieben.
Als Kennzeichnung steht bei $f80000 der Code $11144ef9 (bei 2.0
automatisch der Fall)
Die Checksumme muß auch hier $ffffffff betragen! Da dies normalerweise
nicht geprüft wird, kann es passieren, daß die Checksumme nicht stimmt.
Trotzdem wird die Kickstart z.B. in einem A2000 funktioniern (in Eproms
mit Umschalt-Platine). Evtl. muß die Checksum angepasst werden. Sonst
erkennt der A1000 die Kickstart nach einem RESET nicht mehr und fordert
zum Einlegen einer Kickstart-Diskette auf!
Zum Erstellen einer 512KByte Kickstart-Diskette gibt's nachher noch ein
paar Tips. (Auf Kickstart 2.0 liegt ein Copyright von Commodore. Deshalb
darf es nicht einfach kopiert werden. Ich darf also keine
Kickstart-Diskette mit Kick 2.0 anbieten.)
Der Aufbau:
-----------
Die üblichen Hinweise, daß die Schaltung nur von jemandem aufgebaut werden
sollte, der auch weiß, an welcher Seite der Lötkolben heiß wird, spare ich
mir hier. Zum Aufbau ist es sicher nicht erforderlich die Funktionsweise
der Schaltung bis aufs letzte verstanden zu haben. Sie sollten aber selbst
abschätzen, ob Sie sich an den Zusammenbau der Schaltung wagen können.
Auch der Hinweis auf einen Garantie-Verlust bei Öffnung des Rechners
entfällt, da es wohl kaum noch einen A1000 mit Garantie geben dürfte.
Vom A1000 gibt es zwei unterschiedliche Versionen. Bei der älteren ist das
WOM noch nicht in die Hauptplatine integriert, sondern sitzt auf einer
Backplane-Platine (Piggy-Board).
Der Autor dieser Bauanleitung besitzt die neuere Version des A1000.
Deshalb beziehen sich die IC-Angaben, sowohl im
Schaltplan, wie in dieser Anleitung auf die Hauptplatine des 1000'er mit
integriertem WOM. Die Referenzliste am Ende dieses Artikels soll den Lesern mit
Piggy-Board das Finden der einzelnen IC's erleichtern.
Als erstes sollten Sie die Eproms programmieren. Dazu verwenden Sie die
beiden Files BootRom_2.0.LByte und BootRom_2.0.UByte und programmieren die
Eproms ab Adresse 0. Die Files füllen die Eproms übrigens nicht aus. Das
LByte-Eprom stecken Sie dann in den Sockel U5S (odd). Das UByte-Eprom in den
Sockel U5N (even). Dabei müssen Sie jedesmal den Pin 1 der Eproms abbiegen
und nicht mit in den Sockel stecken, also in der Luft hängen lassen.
Wenn bis hierher alles gut gegangen ist, so muß der Recher gang normal
hochfahren. Insbesondere muß die Power-LED sofort anfangen zu blinken.
Funktioniert der Rechern nicht mehr, so sind die Eproms defekt, falsch
programmiert oder stecken falsch im Sockel.
Funktioniert alles, so können Sie weitermachen. Natürlich vorher wieder den
Netzstecker ziehen, den Monitor abklemmen, sämtliche Erweiterungen abziehen
usw.
Nun kommt der etwas härtere Teil. Bauen Sie jetzt die Schaltung nach dem
Schaltplan auf. Ich empfehle dazu die Verwendung von einem Stück
Lochrasterplatine. Dies geht bei den paar Chips sicherlich am
schnellsten. Wenn die Schaltung fertig ist, können Sie sie anlöten. Dabei
die Versorgungsspannung (+5V und Masse) nicht vergessen. Achten Sie
weiterhin darauf, die richtigen Signale zu verwenden. Sie benötigen z.B.
/UCEN und nicht UCEN (Der / steht für ein invertiertes Signal). Weiter
braucht die Schaltung /LCEN und nicht LCEN, C1 anstatt /C1. Achten Sie auch
darauf, die Prozessoradresse A18 und nicht etwa MA18 zu verwenden, welche
man auf dem Motherboard vermutlich schneller findet.
Haben Sie auch dies erledigt, so können Sie den Rechner wieder testen. Er
sollte sich verhalten wie früher. Stimmt etwas nicht, so sollten Sie
nochmals kontrollieren, ob Sie die richtigen Leitungen angeschlossen haben.
Auch die Verdrahtung der Schaltung an sich kann nochmals kontrolliert
werden. Steht der Schalter in Stellung Original, so muß die neue LED
ständig aus sein. In Stellung 'Neu' sollte die LED während des Bootens immer
dann leuchten, wenn auch die Power-LED leuchtet. Nach dem Booten (Kickstart
ist dann geladen) hat die LED wieder ständig aus zu sein, egal ob die
Power-LED an oder aus ist. Bei jedem RESET muß die LED aber mit der
Power-LED synchron blinken (ist ja Bootvorgang).
Nun können Sie die Widerstände R119-R122 durchknipsen und damit den F139
außer Betrieb setzen. Sie brauchen natürlich nur einen Anschluß zu durch-
trennen. Wählen Sie dabei den Anschluß, der mit dem Pin 16 der RAMs verbunden
ist. Die Widerstände bleiben somit an dem F139 und nicht an den RAMs hängen.
Zur Not können die Widerstände dann wieder relativ einfach angelötet werden.
Löten Sie nun die Ausgänge der vier 39 Ohm Widerstände, die sich auf der
Schaltung befinden und mit 'Original' bezeichnet sind, an die RAMs. Dabei
können Sie sinnvollerweise die abgeschnittenen Enden der Widerstände auf
dem Motherboard verwenden. Jetzt kann wieder ein Test erfolgen. Der Amiga
muß ganz normal hochfahren. Wenn Sie einen Monitor zur Hand haben, können
Sie ja mal nachsehen, ob der Speicherbereich $fc0000-$ffffff ab $f80000
noch gespiegelt ist. Er darf es nicht mehr sein! Steht ab $f80000
ziemlicher Mist (eben ein nicht belegter Speicherbereich), so ist alles
in Ordnung.
Bereiten Sie nun die RAM-Chips zum Auflöten auf die Chips U2J-U1M des
Motherboards vor: Die Pins leicht zusammendrücken, jeweils Pin 16
abbiegen und diesen zur Hälfe abschneiden (da die RAMs nachher sehr nahe
beieinander stehen und der abgebogene Pin sonst im Wege sein würde).
Beim Auflöten der Chips gehen Sie bitte äußerst sorgfältig vor. Auf der
einen Seite sollte das Zinn schon ordentlich fließen - nicht damit sparen,
sonst erhält man später schwierig zu lokalisierende Fehler, weil die RAMs dann
evtl. keinen guten Kontakt haben. Auf der anderen Seite dürfen aber auch
keine Kurzschlüsse zwischen den IC-Pins entstehen. Außerdem dürfen die RAMs
auch nicht zu stark erwärmt werden, sonst werden sie zerstört. Fazit:
Arbeiten Sie sorgfältig, nehmen Sie sich Zeit, um die RAMs immer wieder
abkühlen zu lassen und halten Sie Entlötlitze bereit, falls doch einmal ein
Kurzschluß entstehen sollte. Kontrollieren Sie alle Lötstellen peinlich
genau, und untersuchen Sie die Pins auf Kurzschlüsse. Danach können Sie auch
die abgebogenen Pins mit den entsprechenden Widerständen der Schaltung
verbinden. Vertauschen Sie die Verbindungen dabei nicht!
So, jetzt ist der Umbau eigentlich beendet. Bootet der Amiga nach diesem
letzten Schritt nicht mehr, so ist davon auszugehen, daß doch irgendwo
zwischen den RAM-Bausteinen ein Kurzschluß entstanden ist. Oder Sie haben
die RAMs zerbraten!
Steht der Schalter in Stellung 'Neu', so muß die Zeit zwischen dem Blinken
der Power-LED nach dem Einschalten und dem Anlaufen der Laufwerke deutlich
länger sein sollte als vorher, da jetzt doppelt soviel WOM-Speicher
getestet werden muß. Nach der Hälfe der Zeit müssen beide LEDs (Power-LED
und die neue) eingeschaltet werden. Geschieht all dies, so können Sie sich
schon mal beruhigt gratulieren.
Erstellen der neuen Kickstart-Diskette:
---------------------------------------
Um Kickstart 2.0 auf ihrem A1000 fahren zu können, brauchen Sie jetzt
nur noch eine Kickstart-Diskette im neuen Format. Prinzipiell ist dies kein
Problem. Auf Block 0 muß der Text 'f8-KICK' stehen. In den Blocks 1 bis
einschließlich 1024 folgen dann die eigentlichen Kickstart-Daten, die
später ab Adresse $f80000-$ffffff abgelegt werden. Dabei wird auf Adresse
$f80000 der Code $11144ef9 erwartet. Dies ist die, von Commodore festgelegte,
Kennung für 512KByte Kickstarts. (D.h. in 2.0 ist dies automatisch der
Fall). Außerdem muß die Checksumme über den gesamten Bereich den Wert
$ffffffff (entspricht -1) haben.
Da auf der Kickstart 2.0 natürlich ein Copyright von Commodore liegt und
zumindest im Moment auch nur mit den 3000'ern ausgeliefert wird, darf ich
leider keine fertige Kickstart-Diskette für 2.0 zur Verfügung stellen. Sie
brauchen also ein Kick 2.0, welches im Bereich ab $f80000 liegt und z.B.
auf einem 2000'er oder 500'er läuft. Da es mittlerweile für die 2000'er und
500'er Kickstart-Umschaltplatinen gibt, die für 2.0 geeignet sind und somit
auf vielen 2000'er und 500'er schon Kick 2.0 installiert ist, sollte dies
aber kein unüberwindliches Problem sein. Sie brauchen auf einem solchen
Rechner nur den Bereich von $f80000 - $fffffff auszulesen und
abzuspeichern. Diese File hat dann eine Länge von genau 524288 Bytes. Mit
einem entsprechenden Tool können sie das File auf die Blöcke 1 bis
1024 einer Diskette schreiben.
Damit die BootRoms nach einem RESET feststellen können, ob die Kickstart
noch in Ordnung bzw. schon geladen ist, muß die Checksume den Wert
$ffffffff haben. Stimmt dieser Wert nicht, so funktioniert zwar alles, da
die Checksumme nach dem Einlesen einer Kickstart-Diskette nicht geprüft
wird, aber nur bis zum nächsten RESET. Dann meckern die BootRoms nämlich die
falsche Checksumme an und fordern zum Einlegen einer Kickstart-Diskette auf.
Dieser Hinweis ist besonders wichtig, da die Checksumme beim 2000'er oder
500'er nicht geprüft wird und deshalb meist auch nicht stimmt. Was sollte
das System beim Feststellen einer falschen Checksumme in den ROMs (bzw.
Eproms) auch machen?
Erstellen Sie aber ruhig zunächst eine Kickstart-Diskette mit evtl.
falscher Checksumme. Mit dieser Anleitung stelle ich ein kleines Utilities
zur Verfügung, mit dem Sie die Checksumme der Kickstart automatisch anpassen
können. Dieses Utilities schreibt dann auch den Wert 'f8-KICK' auf Block 0.
Außerdem müssen die RESET-Routinen des Kick 2.0 auf den A1000 angepasst
werden, sonst startet der Amiga nach einem Guru nicht mehr selbststaendig,
sondern es müßte mit dem Klammergriff nachgeholfen werden. Das Utilitie
erledigt aber auch dies:
Legen Sie dazu die Kickstart-Diskette, auf die Sie auf die Blöcke 1 bis 1024
das Kick 2.0 kopiert haben, in ein Laufwerk DFX: und geben das
Kommando: AdaptKick dfX: -r -h -c
ein. AdaptKick liest dann die Kickstart-Diskette ein, adaptiert die
RESET-Routinen, berechnet die Checksumme und schreibt schließlich noch den
Header-Block auf die Disk.
Erstellen der neuen Kickstart-Diskette:
---------------------------------------
Um Kickstart 2.0 oder 2.1 auf ihrem A1000 fahren zu können, brauchen Sie jetzt
nur noch eine Kickstart-Diskette im neuen Format. Prinzipiell ist dies kein
Problem. Auf Block 0 muß der Text 'f8-KICK' stehen. In den Blocks 1 bis
einschließlich 1024 folgen dann die eigentlichen Kickstart-Daten, die
später ab Adresse $f80000-$ffffff abgelegt werden. Dabei wird auf Adresse
$f80000 der Code $11144ef9 erwartet. Dies ist die, von Commodore festgelegte,
Kennung für 512KByte Kickstarts. (D.h. in 2.0 oder 2.1 ist dies automatisch der
Fall). Die Checksumme über den gesamten Bereich muß den Wert
$ffffffff (entspricht -1) haben.
Sie brauchen ein Kickstart 2.0 oder 2.1, welches im Bereich ab $f80000 liegt und
z.B. auf einem 2000'er oder 500'er läuffähig ist. Dazu kaufen sie sich das
Umrüstkit 2.0 von Commodore. Dieses ROM, stecken Sie in einen
2000'er oder 500'er und lesen den Bereich von $f80000 - $fffffff aus und
speichern ihn abschließend ab. Das File hat dann eine Länge von genau
524288 Bytes. Mit einem entsprechenden Tool (sihe unten)
können sie das File auf die Blöcke 1 bis 1024 einer Diskette schreiben.
Danach müssen Sie das zu dieser Bauanleitung gehörige Utilities
Adaptkick starten, daß die Checksumme der Kickstart automatisch anpaßt und
den Wert 'f8-KICK' auf Block 0 der Diskette schreibt.
Außerdem werden von Adaptkick die RESET-Routinen des Kick 2.0 oder 2.1
auf den A1000 angepasst. Dies ist notwendig, da der Amiga sonst nach einem Guru
nicht mehr selbststaendig booten würde,
sondern es müßte mit dem Klammergriff nachgeholfen werden.
AdaptKick ist für die Kickstartversionen 37.59, 37.175 und 37.210 geeignet.
Legen Sie die Kickstart-Diskette, auf die Sie auf die Blöcke 1 bis 1024
das Kick 2.0 kopiert haben, z.B. in das Laufwerk DF0: und geben das
Kommando: AdaptKick df0: -r -h -c
ein. AdaptKick liest die Kickstart-Diskette ein, adaptiert die
RESET-Routinen, berechnet die Checksumme neu und schreibt schließlich noch den
Header-Block auf die Disk.
Noch einige Anmerkungen zum Schluß:
-----------------------------------
Um die Kickstart von
einem auf 2.0 umgerüsteten 500'er oder 2000'er auslesen zu können und
mit diesem File dann eine Kickstart-Diskette erzeugen zu können, eignet
sich das Programm 'TrackDos' von Nic Wilson. Dieses befindet sich auf der
Fish-Disk 365 von Fred Fish.
Den meisten 1000'er Besitzern ist wohl das Utilities ChangeKick bekannt,
mit dem man eine Kickstart aus dem WOM werfen kann. Die neuen BootRoms
machen ein neues ChangeKick notwendig. Dieses wird mit dieser Bauanleitung
ebenfalls zur Verfügung gestellt.
Referenzliste benutzter Chips auf dem Mainboard:
------------------------------------------------
Wie bereits oben erwäht, beziehen sich alle IC-Angaben auf den 1000'er mit
integriertem WOM. Damit Sie die entsprechenden Lötpukte auch auf anderen
1000'ern finden, hier die Beschreibung der Chips:
Referenzliste benutzter Chips auf dem Mainboard:
------------------------------------------------
Wie bereits oben erwäht, beziehen sich alle IC-Angaben auf den 1000'er mit
integriertem WOM. Damit Sie die entsprechenden Lötpukte auch auf anderen
1000'ern finden, hier die Beschreibung der Chips:
U6T: CIAA (8520), ist mit den Data-Leitungen des Centronics-Port verbunden
U2H: F399, davon gibt es nur einen
U1R: F139, auch hiervon gibt es nur einen
U1H: F138, es gibt zwei Chips mit dieser Bezeichnung. Pin 4 ist bei beiden
aber gleich belegt.
U2J, U1J: WOM-Speicherchips, Pin16 ist über 39 Ohm mit Pin 5 U1R verbunden.
U2K, U1K: WOM-Speicherchips, Pin16 ist über 39 Ohm mit Pin 7 U1R verbunden.
U2L, U1L: WOM-Speicherchips, Pin16 ist über 39 Ohm mit Pin 11 U1R verbunden.
U2M, U1M: WOM-Speicherchips, Pin16 ist über 39 Ohm mit Pin 9 U1R verbunden.
U5N: ROM 23256 (even)
U5S: ROM 23256 (odd)
Die Informationen in der vorliegenden Bauanleitung habe ich ohne Rücksicht
auf einen eventuellen Patentschutz oder Copyright erstellt und sind nur für
den privaten Gebrauch bestimmt. Warennamen werden ohne Gewährleistung der
freien Verwendbarkeit benutzt. Ich bin beim Zusammenstellen der Anleitung
mit größter Sorgfalt vorgegangen. Trotzdem können Fehler nicht vollständig
ausgeschlossen werden. Ich kann für fehlerhafte Angaben und deren Folgen
weder eine juristische Verantwortung, noch irgendeine Haftung übernehmen.
Copyright (c) 1991 by Jörg Huth
Kaiserslautern, den 23.05.91
Meine Adresse:
Jörg Huth
Trippstadter Str. 121-1315
W-6750 Kaiserslautern
Tel: (0631) 13796 (Voice)
E-Mail: J_Huth@JoKL.ZER
jhuth@scooter.informatik.uni-kl.de